﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoCnae
    {
        public Cnae Inserir(Cnae cnae, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(cnae, usuarioPermissao);
        }

        public Cnae Atualizar(Cnae cnae, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(cnae, usuarioPermissao);
        }

        public void Excluir(Cnae cnae, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(cnae, usuarioPermissao);
        }

        public Cnae ObterCnaePorCodigo(Usuario usuarioPermissao, string codigo)
        {
            return Fachada.GetInstancia().ObterCnaePorCodigo(usuarioPermissao, codigo);
        }

        public Cnae ObterCnaePorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterCnaePorId(id, usuarioPermissao);
        }

        public IList<Cnae> ObterTodosCnaes(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosCnaes(usuarioPermissao);
        }

        public IList<Cnae> ObterTodosCnaes(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, string codigo, string descricao, DateTime? inicioVigencia, DateTime? fimVigencia)
        {
            return Fachada.GetInstancia().ObterTodosCnaes(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo, descricao, inicioVigencia, fimVigencia);
        }
    }
}